home *** CD-ROM | disk | FTP | other *** search
/ PD Collection CD 1 / PD Collection CD 1.iso / programer2 / pari2 / pari / other / Newin1_36 < prev    next >
Text File  |  1991-12-09  |  7KB  |  160 lines

  1. Description of the main changes between versions 1.35 and 1.36.
  2.  
  3. (Since some intermediate releases like 1.35.01 have widely circulated, some
  4. changes described below do not apply.)
  5.  
  6. In addition to the new programs and improvements described below, many bugs
  7. have been corrected and improvements have been made. See the file Changes for 
  8. details.
  9.  
  10. 1) Linear algebra
  11.  
  12. a) New programs
  13.  
  14. suppl (supplement a subspace), image (image of a linear map), inverseimage
  15. (find a preimage of a vector by a linear map), indexrank (find row and column
  16. indices for extraction of a maximal rank square submatrix), matrixqz (primitive
  17. matrix having the same $\Bbb Q$-image), matrixqz2 (intersection of $\Bbb Z^n$
  18. with a lattice), matrixqz3 (intersection of $\Bbb Z^n$ with a 
  19. $\Bbb Q$-subspace), kerint, kerint1 and kerint2 ($\Bbb Z$-kernel of a linear
  20. map), intersect (intersection of subspaces), lllgramint and lllint (LLL when 
  21. the gram matrix is integral, completely accurate and fast if applicable),
  22. lllgramkerim and lllkerim ($\Bbb Z$-kernel and image of a linear map,
  23. generalizing lllgramint and lllint to the case where the vectors may be
  24. dependent).
  25.  
  26. b) Improvements
  27.  
  28. Modified many programs to handle empty matrices in a reasonable way.
  29. smith modified so as to allow singular matrices, and hermite modified so as to
  30. accept matrices of any size, in particular with more rows than columns.
  31. norml2 accepts now any type, in particular matrices.
  32. The LLL algorithms have been improved and speeded up. In particular, the
  33. linear and algebraic dependence algorithms lindep2 and algdep2 now give
  34. considerably better results than before, since they call lllint instead of lll.
  35. hess is now (hopefully) correct.
  36. In a GP statement, rows and columns of a matrix can now be accessed or modified
  37. directly using m[j,] for the j-th row and m[,k] for the k-th column.
  38.  
  39. 2) Polynomials, polymods and rational funtions
  40.  
  41. a) New programs
  42.  
  43. factfq (factorization of polynomials over any finite field), cyclo (cyclotomic
  44. polynomials), modreverse (reverse of a polymod), polred2 (polred with the
  45. integral basis elements), polyrev (same as poly in reverse order), 
  46. smallpolred2 (smallpolred+polred2), factoredpolred2 (factoredpolred+polred2),
  47. rootslong (a much slower but safer polynomial root finder), galois (galois
  48. group of a polynomial of degree up to 7), galoisconj (list of conjugates of
  49. an algebraic number belonging to the same number field), tchirnhausen (apply
  50. a random tchirnhausen transformation), initalg (give basic information about
  51. a number field), resultant2 (resultant for non-exact types), 
  52. factornf (factoring polynomials over number fields).
  53.  
  54. b) Improvements
  55.  
  56. gcd of two polymods or between a polymod and a polynomial is now more 
  57. reasonable, and vector/matrix arguments are allowed in gcd and lcm.
  58. Major modifications have been introduced in the treatment of polymods which
  59. now behave in a much more reasonable way.
  60. The simplification of rational functions has been enhanced, resulting in
  61. more completely simplified expressions, but also in slower speed.
  62.  
  63. 3) Arithmetic functions.
  64.  
  65. a) New programs
  66.  
  67. factr (n! as a real number), centerlift (lift of mod(a,b) to a with |a| 
  68. minimum), shift (left or right shift), shiftmul (multiplication or division by
  69. a power of 2), rhorealnod and redrealnod (same as rhoreal and redreal without
  70. distance computation), comprealraw, sqrealraw and powrealraw (composition,
  71. squaring and powering of binary quadratic forms with positive discriminant
  72. without performing any reduction), isisom (test isomorphism of number fields),
  73. isincl (test inclusion of number fields), rootsof1 (number of roots of unity
  74. in a number field), nucomp, nudupl and nupow (composition of primitive 
  75. positive definite binary quadratic forms a la Shanks).
  76.  
  77. b) Improvements
  78.  
  79. sumdivk(n,k) now accepts k<0.
  80. When an impossible inverse modulo occurs, the error message prints the culprit
  81. so that one can factor the modulus if necessary.
  82. smallfact and boundfact can now have rational arguments.
  83. All operations (except nucomp and co.) on quadratic forms now accept 
  84. nonprimitive forms (whatever the result means however).
  85.  
  86. 4) Transcendental functions
  87.  
  88. a) New programs
  89.  
  90. izeta (zeta function for integer arguments, not accessible from GP but called
  91. automatically by zeta), incgam4 (incomplete gamma with given gamma value), 
  92. cxpolylog (polylog of complex argumnet, not accessible from GP but called
  93. automatically by polylog).
  94.  
  95. b) Improvements
  96.  
  97. incgam(a,x) now accepts a<=0.
  98. The polylog functions have been deeply modified. They now work in the whole
  99. complex plane, accept negative indices, and all useful modified versions
  100. are implemented. Also power series arguments are now accepted.
  101. gamma and lngamma now accept power series arguments.
  102.  
  103. 5) Elliptic curves
  104.  
  105. a) New programs
  106. initell2 (fast initell, but for reasonable size coefficients), lseriesell
  107. (fast computation of the L series of an elliptic curve), pointell (Weierstrass
  108. P-function and its derivative).
  109.  
  110. b) Improvements
  111. Elliptic curves with huge coefficients can now be treated.
  112. zell is now in priciple correct and more accurate.
  113. The coefficients of matell have been doubled, so the determinant of the 
  114. height matrix is the usual regulator.
  115. isoncurve gives a reasonable answer in case of imprecise coefficients.
  116. apell now accepts prime numbers larger than 65536.
  117.  
  118. 6) Miscellaneous
  119.  
  120. a) New programs
  121.  
  122. vecsort (sort by some component), read (read an expression from a GP program),
  123. random (generate a random number), permutation (list all permutations), 
  124. matsize (dimensions of a matrix), size (maximal number of decimal digits),
  125. rounderror (maximum error made in rounding), lex (lexicographic comparison),
  126. lexsort (lexicographic sort), simplify (remove a zero imaginary part in a
  127. complex or quadratic, and convert a constant polynomial into its constant
  128. term).
  129.  
  130. b) Improvements
  131.  
  132. The time to input a large file into GP by \r is much shorter.
  133. suminf, prodinf, suminf1, prodinf1 can now have zero coefficients without
  134. stopping the computation.
  135. A vector can now be raised to an integral power componentwise (of course
  136. not a matrix).
  137. A new output format has been added (the prettymatrix format), which allows to
  138. print matrices as boxes, the components being still in raw format. This is now
  139. the default instead of the raw format (type \p to switch between the three
  140. output formats, \a, \m and \b to print in raw, prettymatrix and prettyprint 
  141. format respectively).
  142.  
  143. 7) Documentation and examples.
  144.  
  145. a) Two new chapters have been added to the manual (which now exceeds 103 pages,
  146. not counting the table of contents and the index). Chapter 5 gives a complete
  147. list of the low level functions of the PARI library, with a description of
  148. their use. The last chapter is a tutorial to the use of the GP calculator. It
  149. is not yet finished in this release. If you do not want it in the manual,
  150. put a % sign in front of the line \input tutorial in the file users.tex.
  151.  
  152. b) An example of a complete and non-trivial GP program is given in the file
  153. squfof.gp in the directory example. Just read in this file under GP by the
  154. command \r squfof.gp, and use the function squfof on positive integers which
  155. you want to factor. SQUFOF is a very nice factoring method invented in the
  156. 70's by D. Shanks for factoring integers, and is reasonably fast for numbers
  157. having up to 15 or 16 digits. The squfof program which is given is a very
  158. crude implementation. It also prints out some intermediate information as it
  159. goes along. The final result is some factor of the number to be factored.
  160.